<?php

namespace app\common\model;

use think\Model;
use think\Session;

class Admin extends Model
{
    
    // 开启自动写入时间戳字段
    protected $autoWriteTimestamp = 'int';
    // 定义时间戳字段名
    protected $createTime = 'createtime';
    protected $updateTime = 'updatetime';
    protected $hidden = [
        'password',
        'salt',
        'avatar_text',
    ];

    public static function init()
    {
        self::beforeWrite(function ($row) {
            $changed = $row->getChangedData();
            //如果修改了用户或或密码则需要重新登录
            if (isset($changed['username']) || isset($changed['password']) || isset($changed['salt'])) {
                $row->token = '';
            }
        });
    }

    public function getAvatarTextAttr($value, $data)
    {
        //获取域名部分
        $domain = Request::instance()->domain();
        $domain = trim($domain, '/');

        $avatar = isset($data['avatar']) ? $data['avatar'] : '';

        //如果为空就给一个默认图片地址
        if (empty($avatar) || !@is_file("." . $avatar)) {
            $avatar = "/assets/img/avatar.png";
        }
        return $domain.$avatar;
    }

}
